A GPS receiver receives radio-waves simultaneously from plural GPS satellites, and acquires navigation messages (orbit and time information), thereby calculating its absolute position on Earth including a latitude, longitude, altitude and the like. GPS satellites transmit signals for determining positions using L1 band of 1.57542 GHz and L2 band of 1.2276 GHz. The L1 band is generally available to the public.
The carrier wave frequency of the signal transmitted with the L1 band undergoes frequency-drift by the Doppler effect due to the moving of the GPS satellite. The drift received on Earth is max. .+-.5,000 Hz. An internal oscillator mounted to a GPS receiver is used for detecting the carrier wave. This oscillator, in general, employs a temperature-compensated crystal oscillator. Even if a highly accurate and temperature-compensated crystal oscillator is used, there still exists an error of as little as several ppm (parts per million).
For instance, an error of 3 ppm corresponds to .+-.5,000 Hz, and another .+-.5,000 Hz due to the Doppler effect is added thereto. Thus the frequency received on Earth may drift in a range of approx. .+-.10,000 Hz on the carrier wave frequency 1.57242 GHz. In order to overcome this wide frequency-drift when receiving signals from a GPS satellite, a GPS receiver calculates the position of the GPS satellite based on the backed-up navigation messages including the orbit information and rough times. Then the GPS receiver estimates an offset frequency of the GPS satellite receivable from the receiver's position. The center frequency for scanning the GPS satellite is calculated by doppler frequency and scans the range of "Doppler frequency-drift+the offset frequency" on the carrier wave frequency of this GPS satellite.
A poorly accurate crystal oscillator would produce a greater error due to temperature changes, such as+several dozens ppm. For instance, an error of +10 ppm is produced when Doppler frequency-drift+offset frequency =.+-.16,000 Hz, then the range of as wide as .+-.16,000 Hz on a predicted carrier wave frequency must be scanned. If this wide range can be scanned at one time, there is no problem; however, actually a narrow range such as 800 Hz is the maximum range for one scan due to restrictions of the circuit. In this case, 40 times scanning (16,000.times.2/800=40) is required.
Signals from a GPS satellite undergo spectrum-diffusion with pseudo random number (PRN) code. Therefore, when receiving the signals from the GPS satellite, a GPS receiver should decode the signals to be phased by the assigned PRN code which is proper to the GPS satellite and then inversely diffused. One scan for a determination per inverse diffusion takes more than one second. Thus, scanning all the frequency ranges takes more than 40 seconds and this delays the receiver to lock onto the satellite before the receiver start positioning.
PRN code is used for transmitting the time of a signal from a GPS satellite, a phase shift produced at the inverse diffusion becomes a measurement error of the satellite time. In an environment where reflections are easily produced, such as an area crowded with high-rise buildings, multi-paths due to reflections on such high-rises produce a phase-shift at the inverse diffusion. This prevents the GPS receiver from measuring a transmitting time of the signal from the satellite, thereby widening the error range for calculating a position.
GPS satellites transmit data in a "sub-frame" unit every six seconds. At the top of the sub-frame, a frame synchronising pattern (preamble pattern) coded in 8-bit is stored. The GPS receiver, first of all, needs to detect this preamble pattern. The sub-frame stores a top-time of the next sub-frame. The receiver measures the transmitting time from the GPS satellite using the time stored, a number of data bits from the top of the sub-frame, and the PRN code. Accordingly, the GPS receiver is not allowed to start calculating the position during the period from detecting the signal from the GPS satellite to acquiring the sub-frame and determining the time.
When scanning the sub-frame, because both of the preamble pattern and the time data are in eight-bit stream, the receiver may detect the time data before the preamble pattern by mistake. Dealing with this mistake takes a long time before the sub-frame can be acquired.
After acquiring the time data of respective GPS satellites, simultaneous equations of the spheres centering respective satellites' positions are established, and these two-dimensional equations are solved, so that the GPS receiver calculates its own position. In a GPS receiver, an unknown is expressed by a sum of an approximate value and a corrected value. The corrected value is developed to be negligible and is neglected in the orders which are higher than the second order, then simultaneous first power equations are solved by a successive approximation method. This calculation is repeated until the necessary accuracy is obtained. However, when a position is determined utilising a minimum of three satellites' signals where the centre of Earth is deemed a pseudo satellite, the approximated value is sometimes far from a true position. The calculations thus result in wrong positioning.